home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005 / CHIP Utilities 2005.iso / dosapps / freedos / doc / ctmouse / wheelapi.txt < prev   
Encoding:
Text File  |  2002-04-30  |  3.5 KB  |  90 lines

  1. Wheel support in DOS real-mode mouse drivers
  2. API version 1.0
  3.  
  4. Summary:
  5.  
  6. This document describes an extension for the commonly used INT 33h Mouse
  7. API to add wheel (Z axis) support. This draft introduces extra functions
  8. and additions to the standard INT 33 API. These new and changed functions
  9. are mentioned in the technote.txt as the WheelAPI.
  10.  
  11. ---------------------------------------------------------------------
  12. New functions:
  13.  
  14. INT 33/0011 - Check wheel support and get capabilities flags
  15.     AX = 003Fh
  16. Return:    AX = 574Dh ('WM' in assembly) if Wheel API is supported by driver
  17.     BX = Capabilities flag (all bits reserved)
  18.     CX = Capabilities flag
  19.         Bit(s)    Description
  20.         ------    -----------
  21.          0    Pointing device supports wheel
  22.          1-15    Reserved
  23. Note:    this function should be called before accessing other wheel features
  24.  
  25. ---------------------------------------------------------------------
  26. Changes in the original INT 33h functions:
  27.  
  28. INT 33/0000 - Reset driver and read status
  29. Note:    this call clears the wheel movement counter
  30.  
  31. INT 33/0003 - Get cursor position, buttons status and wheel counter
  32.     AX = 0003h
  33. Return:    BL = buttons status
  34.     BH = 8-bit signed counter of wheel movement since last call
  35.     CX = column
  36.     DX = row
  37. Notes:    returned wheel counter contains all wheel movements accumulated since
  38.       the last call to INT 33/AX=0003h, INT 33/AX=0005h/BX=-1 or
  39.       INT 33/AX=0006h/BX=-1
  40.     positive value of wheel counter means downward wheel movement
  41.     this call clears the wheel movement counter
  42.  
  43. INT 33/0005 - Get button press or wheel movement data
  44.     AX = 0005h
  45.     BX = button number or -1 for wheel
  46. Return:    AL = buttons states
  47.     AH = 8-bit signed counter of wheel movement
  48.     ---button info---
  49.     BX = number of times specified button has been pressed since last call
  50.     CX = column where specified button was last pressed
  51.     DX = row where specified button was last pressed
  52.     ---wheel info---
  53.     BX = 16-bit signed counter of wheel movement since last call
  54.     CX = column where wheel was last moved
  55.     DX = row where wheel was last moved
  56. Notes:    returned wheel counters contains all wheel movements accumulated since
  57.       the last call to INT 33/AX=0003h, INT 33/AX=0005h/BX=-1 or
  58.       INT 33/AX=0006h/BX=-1
  59.     positive value of wheel counter means downward wheel movement
  60.     this call clears the wheel movement counter for BX=-1
  61.  
  62. INT 33/0006 - Get button release or wheel movement data
  63.     AX = 0006h
  64.     BX = button number or -1 for wheel
  65. Return:    AL = buttons states
  66.     AH = 8-bit signed counter of wheel movement
  67.     ---button info---
  68.     BX = number of times specified button has been released since last call
  69.     CX = column where specified button was last released
  70.     DX = row where specified button was last released
  71.     ---wheel info---
  72.     BX = 16-bit signed counter of wheel movement since last call
  73.     CX = column where wheel was last moved
  74.     DX = row where wheel was last moved
  75. Notes:    returned wheel counters contains all wheel movements accumulated since
  76.       the last call to INT 33/AX=0003h, INT 33/AX=0005h/BX=-1 or
  77.       INT 33/AX=0006h/BX=-1
  78.     positive value of wheel counter means downward wheel movement
  79.     this call clears the wheel movement counter for BX=-1
  80.  
  81. INT 33/000C - Define User Interrupt Routine
  82. INT 33/0014 - Exchange User Interrupt Routines
  83. Notes:    on entry, bit 7 of CX (call mask) indicates that the user routine
  84.       will be called on a wheel movement
  85.     the user routine will be called with BH holding the 8-bit signed
  86.       counter of wheel movement since the last call of the routine
  87.  
  88. INT 33/0021 - Software reset
  89. Note:    this call clears the wheel movement counter
  90.